//学生
cc.Class({
    extends: cc.Component,

    properties: {
        //用来判断学生手上是否有纸飞机的标志位
        hasPaper:{
            default: false,
            type: Boolean
        },
        //用来判断学生是否需要纸飞机的标志位
        needPaper: {
            default: false,
            type: Boolean
        },
        //显示在学生右边的飞机图案
        paper: {
            default: null,
            type: cc.Node
        },
        //学生需要纸飞机的图案
        needPaperIcon: {
            default: null,
            type: cc.Node
        },
        //游戏主逻辑脚本挂载的节点
        game: {
            default: null,
            type: cc.Node
        },
        //教师节点
        teacher: {
            default: null,
            type: cc.Node
        },
        //纸飞机实体
        paperEntity: {
            default: null,
            type: cc.Node
        }
    },

    onLoad () {
        //手指触摸需要纸飞机的学生后，将纸飞机放到该学生手上
        this.setOnTouchStartListener();
    },

    start () {

    },

    update (dt) {
        //该学生手上如果有纸飞机，则显示纸飞机标志
        this.showPaperIcon();
        //如果该学生需要纸飞机，则显示需要纸飞机的标志
        this.showNeedPaperIcon();
    },

    //如果该学生手上有纸飞机，那么就在该学生节点的右边显示一个飞机标志
    showPaperIcon () {
        if (this.hasPaper) {
            this.paper.x = this.node.x + 30;
            this.paper.y = this.node.y;
        }
    },

    //如果该学生需要纸飞机，则在该学生节点的右边显示一个需要纸飞机的标志
    showNeedPaperIcon () {
        if (this.needPaper) {
            this.needPaperIcon.x = this.node.x + 30;
            this.needPaperIcon.y = this.node.y;
        }
    },

    //手指触摸需要纸飞机的学生后，将纸飞机放到该学生手上
    setOnTouchStartListener () {
        this.node.on("touchstart", function (event) {
            if (this.needPaper === true) {
                for (let i = 0; i < this.game.getComponent("Game").studentArray.length; i++) {
                    if (this.game.getComponent("Game").studentArray[i].getComponent("Student").hasPaper === true) {
                        this.game.getComponent("Game").studentArray[i].getComponent("Student").hasPaper = false;
                    }
                }
                this.needPaper = false;
                this.hasPaper = true;
                // let currentStudentPaperIndex = this.game.getComponent("Game").currentPaperStudentIndex;
                // this.game.getComponent("Game").studentArray[currentStudentPaperIndex - 1].hasPaper = false;
                //改变Game脚本的纸飞机发出的标志位
                this.game.getComponent("Game").paperHasChanged = true;
            }
        }, this);
    }
});
